from pydantic_settings import SettingsConfigDict

from configs.db_config import DatabaseConfig
from configs.deploy_config import DeploymentConfig
from configs.similar_config import SimilarConfig
from configs.web_config import LoggingConfig


class WebConfig(
    # Packaging info
    LoggingConfig,
    DatabaseConfig,
    DeploymentConfig,
    SimilarConfig,
):
    model_config = SettingsConfigDict(
        # read from dotenv format config file
        env_file=".env",
        env_file_encoding="utf-8",
        # ignore extra attributes
        extra="ignore",
    )


web_config = WebConfig()
